70.7.1 自定义Tomcat代理配置
如果使用的是Tomcat,你可以配置用于传输"forwarded"信息的headers名:
server.tomcat.remote-ip-header=x-your-remote-ip-header
server.tomcat.protocol-header=x-your-protocol-header
你也可以为Tomcat配置一个默认的正则表达式,用来匹配内部信任的代理。默认情况下,IP地址10/8
,192.168/16
,169.254/16
和127/8
是被信任的。通过设置server.tomcat.internal-proxies
属性可以自定义,比如:
server.tomcat.internal-proxies=192\\.168\\.\\d{1,3}\\.\\d{1,3}
注 只有在使用配置文件时才需要双反斜线,如果使用YAML,只需要单个反斜线,比如192\.168\.\d{1,3}\.\d{1,3}
。
注 将internal-proxies
设置为空表示信任所有代理,不要在生产环境使用。
你可以完全控制Tomcat的RemoteIpValve
配置,只要关掉自动配置(比如设置server.use-forward-headers=false
)并在TomcatEmbeddedServletContainerFactory
bean添加一个新value实例。